/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package service;

import com.superenvios.DAO.MensajeroFacadeRemote;
import com.superenvios.model.Mensajero;
import java.util.HashSet;

import java.util.Set;
import javax.ejb.EJB;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

/**
 *
 * @author beto86
 */
@Path("mensajero")
public class MensajerosService{
    
    private MensajeroFacadeRemote facadeRemote;

    Mensajero mensajero1 = new Mensajero();
        
    Mensajero mensajero2 = new Mensajero();

    public MensajerosService() throws NamingException {
        
        facadeRemote = (MensajeroFacadeRemote)new InitialContext().lookup("java:global/SuperEntregasDaos/MensajeroFacade!com.superenvios.DAO.MensajeroFacadeRemote");
        
        mensajero1.setId(1l);
        mensajero1.setActivo(Boolean.TRUE);
        mensajero1.setNombre("Mensajero1");
        mensajero1.setCedula(12345678l);
        
        mensajero2.setId(2l);
        mensajero2.setActivo(Boolean.TRUE);
        mensajero2.setNombre("Mensajero2");
        mensajero2.setCedula(12345678l);
    }
    
    @POST
    @Path("{id}")
    @Consumes({"application/json"})
    public void create(Mensajero entity) {
        entity.setId(null);
        
        facadeRemote.create(mensajero1);
    }

    @PUT
    @Path("{id}")
    @Consumes({"application/json"})
    public void edit(Mensajero entity) {
        
    }

    @DELETE
    @Path("{id}")
    public void remove(@PathParam("id") Long id) {
    }

    @GET
    @Path("{id}")
    @Produces({"application/json"})
    public Mensajero find(@PathParam("id") Long id) {
        return mensajero1;
    }

    @GET
    @Produces({"application/json"})
    public Set<Mensajero> all() {
        
        HashSet<Mensajero> mensajeros = new HashSet<>();
        mensajeros.add(mensajero1);
        mensajeros.add(mensajero2);
        
        return mensajeros;
        
    }
    
}
